Other Microsoft Assessment and Planning Tools
Several other products and
tools are available from Microsoft to assist with proper capacity
analysis and performance monitoring. Some of these tools are available
for purchase separately or can be downloaded for free. Selecting the
right tool or product depends on the goal you are trying to accomplish.
For example, the Windows System Resource Manager (WSRM) would be used if
you want to implement thresholds for the amount of resources an
application or process is allowed to consume, and System Center
Operations Manager might be deployed if you want to be notified when
critical processes behave abnormally on production servers.
Discussing each of these tools
in depth is beyond the scope of this book; however, a basic
understanding and overview of their purposes will help you make an
informed decision when selecting the right technologies for analyzing
system resources, availability, and performance.
Windows System Resource Manager
Windows System Resource
Manager is included in the feature set of Windows Server 2008 R2 and
provides an interface that allows you to configure how processor and
memory resources are allocated among applications, services, and
processes. Having the ability to control these items at such a granular
level can help ensure system stability, thus improving system
availability, improving the user experience. Assigning thresholds to
services, applications, and processes can prevent issues like high CPU
consumption. System Resource Manager is installed as a feature in Server
Manager. System Resource Manager can manage multiple items on the local
system and remote computers (if Remote Desktop Services is installed).
The System Resource Manager interface is shown in Figure 13.
To install System Resource Manager, do the following:
1. | Launch Server Manager by choosing it in the Administrative Tools folder.
|
2. | Click Features in the Scope pane on the left.
|
3. | Click Add Features in the central Details pane; the Select Features window opens.
|
4. | Scroll down and select Windows System Resource Manager.
|
5. | If
it isn’t already installed, a notification window opens stating that
the Windows Internal Database feature must also be installed. Click the
Add Required Features button to accept the addition of the feature.
|
6. | Click Next.
|
7. | Click Install to install the Windows System Resource Manager and required components.
|
8. | Click Close when the installation completes.
|
Note
A warning appears in Server
Manager if the Windows System Resource Manager service is not started.
This service must be running to use Windows System Resource Manager.
After WSRM is installed, you
can start fine-tuning the Windows Server 2008 R2 server’s processes,
services, applications, and other items to ensure CPU cycles and memory
usage are allocated appropriately. WSRM provides administrators with a
means of adjusting the system to meet the demands of those accessing it.
WSRM can allocate CPU time and memory usage through the use of the
included resource allocation policies or a customized one. Observed
system usage and data obtained from tools like Performance Monitor can
be applied directly to WSRM policies. For example, if system monitoring
reveals that a particular application is in high demand but the same
server is busy providing other services, making the application
sluggish, the WSRM can allocate enough resources to both items to ensure
that neither the system nor the items being used are negatively
impacted. It is very common for WSRM to be implemented in conjunction
with SQL Server to improve sustainability in a consolidated environment.
For example, if 10 WSRM-managed SQL Server instances exist, each
instance can be granted 10% of the total processor. Each instance can
use its entire share of the processor, but if nine instances are using
less than their allocated processor resource, the remaining instance can
use more processor resources. If demand for processor resources then
increases on one of the other instances, WSRM returns the resources as
needed.
Resource allocation policies
are used in WSRM to divide processor and memory usage among
applications, services, processes, and users. Resource allocation
policies can be in effect at all times, or they can run on a scheduled
basis. If certain events occur or the system behaves differently, WSRM
can switch to a different policy to ensure system stability and
availability. Resource allocation policies can be exported and imported
between Windows Server 2008 R2 servers and the policies can also contain
exclusions when something doesn’t require specific resource
assignments.
When accounting is enabled
in WSRM, administrators of the servers can review data collected to
determine when and why resource allocation policies were too restrictive
or too loose. Accounting can also help identify problems with the items
in the policy as well as peak access times. Administrators can use the
information obtained by the accounting component of WSRM to make
adjustments to the policies. WSRM resource allocation policies can
manage local and remote computers as well as Remote Desktop Services
sessions.
WSRM comes packaged
with five predefined policies. These templates provide administrators
with a way to quickly allocate resources, leaving room for fine-tuning
at a later time. The predefined resource allocation policy templates are
as follows:
Equal per Process—
Allocates resources equally among all running processes, preventing one
process from consuming all available CPU and memory resources
Equal per User— Allocates resources equally among all users, preventing one user from consuming all available CPU and memory resources
Equal per Session—
Allocates resources equally among all Remote Desktop Services sessions,
preventing one session from consuming all available CPU and memory
resources
Equal per IIS Application Pool—
Allocates resources equally among all IIS application pools, preventing
one session from consuming all available CPU and memory resources
Weighted Remote Sessions— Controls priority for users who are remotely connected to the system
Note
WSRM policies are only
enforced when CPU usage climbs above 70%. The WSRM policies are never
active on processes owned by the core operating system or any items in
the exclusion list.
Tip
Memory limits should be
applied in policies only when the application, service, or process is
having issues or not allocating memory usage properly on its own.
A common task performed in
WSRM is to create matching criteria rules. Matching criteria rules
allow an administrator to define (or exclude) processes, services, or
applications that should be monitored by WSRM. This definition is used
later in the WSRM management process. To create a matching criteria
rule, do the following:
1. | Launch Windows System Resource Manager by clicking Start, All Programs, Administrative Tools, Windows System Resource Manager.
|
2. | Right-click the Process Matching Criteria item in the WSRM console and select New Process Matching Criteria.
|
3. | Enter a unique name for the matching criteria in the Criteria Name box at the top and click Add under the Rules section.
Or
Select the
object type (process, service application, or IIS application pool) from
the drop-down list, and click the Select button and select the policy
to apply.
|
4. | To exclude items from the policy, check the Excluded Files or Command Lines check box.
Or
Select the
object type (process, service application, or IIS application pool) from
the drop-down list, and click the Select button and select the policy
to apply.
|
5. | Repeat the preceding steps to add all of the exclusions and items that should be managed by or excluded from a WSRM policy.
|
Another task that is
commonly performed is creating custom resource allocation policies.
Similar to “matching criteria rules” that look for specific process,
service, and application criteria, the custom resource allocation policy
provides the administrator the ability to define how much of a resource
should be allocated to a specific process, service, or application. As
an example, if only 20% of the system processing should be allocated to a
print process, the resource allocation would be defined to limit the
allocation of resources to that process. To create a custom resource
allocation policy, do the following:
1. | Launch Windows System Resource Manager by clicking Start, All Programs, Administrative Tools, Windows System Resource Manager.
|
2. | Right-click the Resource Allocation Policies option in the WSRM console, and select New Resource Allocation Policy.
|
3. | Provide a name for the policy, and click the Add button in the Allocate These Resources section.
|
4. | On the General tab, select the Process Matching Criteria and specify the percentage of processor time that will apply.
|
5. | On the Memory tab, specify the maximum committed memory and working set limits.
|
6. | The
Advanced tab allows you to select which processors the policy should be
assigned to as well as suballocating processor resources. If you want
to edit these parameters, make the changes and click OK.
|
7. | Click OK when you are finished.
|
The calendar component of WSRM
can be used to schedule policy enforcement on a regular basis and by
one-time or recurring events. For example, policy enforcement might only
be necessary during normal business hours. Calendar control is enabled
by default and can be controlled by right-clicking the Calendar item in
the WSRM console and selecting the Enable or Disable option. To create
calendar items based on scheduled times, do the following:
1. | Launch Windows System Resource Manager by clicking Start, All Programs, Administrative Tools, Windows System Resource Manager.
|
2. | Expand the Calendar item in the WSRM console by clicking the plus sign.
|
3. | Right-click the Schedule option and select New Schedule.
|
4. | Enter a name and description for the schedule.
|
5. | Double-click on a time slot in the New Schedule window, specify the policy, start, and stop times, and click OK.
|
Rather than creating a
calendar item based on scheduled times, you can create the calendar item
based on a specific triggered event. To create calendar items based on
specific events, do the following:
1. | Launch Windows System Resource Manager by clicking Start, All Programs, Administrative Tools, Windows System Resource Manager.
|
2. | Expand the Calendar item in the WSRM console by clicking the plus sign.
|
3. | Right-click the Calendar Event option, and select New One Time Event.
|
4. | Enter a name for the event.
|
5. | Select Policy Name or Schedule Name, and select the appropriate policy.
|
6. | Specify a start and end date and time (not available if associated with a schedule), and click OK.
|
For calendar events that
you want to trigger based on recurring events, a rule can be created for
this to happen. To create recurring events, do the following:
1. | Launch Windows System Resource Manager by clicking Start, All Programs, Administrative Tools, Windows System Resource Manager.
|
2. | Expand the Calendar item in the WSRM console by clicking the plus sign.
|
3. | Right-click the Calendar Event option, and select New Recurring Event.
|
4. | Enter a name for the event.
|
5. | Select Policy Name or Schedule Name, and select the appropriate policy.
|
6. | Specify
a start and end time and specify a recurrence schedule, such as every
Monday (not available if associated with a schedule), and click OK.
|
One
example of where WSRM is useful is when an administrator wants to
allocate system resources to sessions or users who are active on a
Windows Server 2008 R2 Remote Desktop Services system. Configuring a
WSRM policy for Remote Desktop Services can ensure the sessions will not
behave erratically and system availability will be stabilized for all
who use the Remote Desktop Services server. This is accomplished using
the Equal per User or Equal per Session policy templates provided with
WSRM. To allocate resources to a Windows Server 2008 R2 Remote Desktop
Services system, do the following:
1. | Launch Windows System Resource Manager by clicking Start, All Programs, Administrative Tools, Windows System Resource Manager.
|
2. | Expand the Resource Allocation Policies option in the WSRM console.
|
3. | Right-click Equal_Per_Session or Equal_Per_User, and select Set as Managing Policy.
|
4. | A dialog box opens indicating that the calendar function will be disabled; click OK.
|
5. | Click OK.
|
Assessment and Planning Solution Tool
The Microsoft Assessment and Planning Toolkit (MAP) provides a
solution to IT personnel when faced with questions like “Which product
should we buy or deploy?” or “Are we ready for Windows Server 2008 R2?”
Granted, there are multiple approaches to tackling questions like these;
however, Microsoft has again developed a tool that will do most of the
work for you. The Assessment and Planning Solution Tool inventories and
assesses systems, hardware, and software and makes product and
technology recommendations based on those results. The discovery and
readiness tools included in the latest version of MAP include Windows
Server 2008 R2 Readiness, Windows 7 Readiness Assessment, Windows Vista
Hardware Assessment, Office 2007 Assessment, SQL Server Discovery,
Windows Server Role Discovery, Virtual Machine Inventory, Power Savings
Assessment, Security Assessment, and Application Virtualization
Assessment. The Assessment and Planning Solution Tool can be downloaded
from the Microsoft Download site at www.microsoft.com/downloads/.
System Center Capacity Planner (SCCP) 2007
System Center
Capacity Planner 2007 Infrastructure Planning and Tools are tools for IT
staff to plan their migration or deployment of System Center Operations
Manager (OpsMgr) 2007, SharePoint Server 2007, and Exchange 2007/2010.
SCCP can determine and recommend the necessary changes for deploying
SharePoint, Exchange 2007/2010, and OpsMgr 2007. This includes in-depth
analysis of hardware, network architecture, placement of servers, and
much more. SCCP 2007 can even advise on changes after deployment,
whether they are planned or unplanned such as the addition of new users,
new features like Outlook WebApp (OWA), or changes to the network. More
information about SCCP 2007 can be found at the following website: http://www.microsoft.com/systemcenter/en/us/capacity-planner.aspx.
System Center Operations Manager 2007
System Center Operations
Manager (OpsMgr) 2007 has replaced its popular predecessor, Microsoft
Operations Manager (MOM). OpsMgr 2007 is a comprehensive monitoring and
reporting solution that reports on conditions related to services,
system, and network performance,
and alerts administrators when problems arise, for example, when
critical services have failed to start, when CPU usage consistently
stays above a designated threshold, or when excessive paging is observed
by the OpsMgr agent. OpsMgr integrates directly with Active Directory,
Windows Server 2008 R2, and most other Microsoft technologies to provide
an overall solution to help automate monitoring of critical systems and
processes. OpsMgr uses management packs specific to the technology,
such as the Windows Server 2008 R2 baseline operating system, Exchange
2007/2010 or Internet Information Services 7.5 (IIS), so little
configuration is needed out of the box.
Third-Party Toolset
Without a doubt, many
third-party utilities are excellent for capacity-analysis and
performance monitoring purposes. Most of them provide additional
functionality not found in Windows Server 2008 R2’s Performance Monitor
and other tools, but they have a cost and might have special
requirements for deployment and integration into the organization’s
network. You might want to evaluate some third-party utilities to get a
more thorough understanding of how they might offer more features than
Microsoft solutions. Generally speaking, these utilities enhance the
functionality that’s inherent to Microsoft monitoring solutions, such as
scheduling, an enhanced level of reporting functionality, superior
storage capabilities, the ability to monitor non-Windows systems, or
algorithms for future trend analysis. Some of these third-party tools
are listed in Table 2.
Although it might be true
that most third-party capacity-analysis and performance monitoring
products might add more or different functionality to your
capacity-analysis and performance monitoring procedures or goals, there
are still pros and cons to using them over the free tools included with
Windows Server 2008 R2 or other solutions available from
Microsoft. The key is to decide what you need to adequately and
efficiently perform capacity-analysis and performance monitoring
procedures in your environment. Taking the time to research and
experiment with the different solutions available today, from Microsoft
and others, will only benefit you in making an informed decision for
managing your Windows Server 2008 R2 environment.